package cn.xwt.weidisk.service;

import cn.xwt.weidisk.constant.ServiceError;
import cn.xwt.weidisk.pojo.dao.CategoryDo;
import cn.xwt.weidisk.pojo.dto.CategoryData;

import java.util.List;

/**
 * @author 薛慰涛
 */
public interface CategoryService {

    /**
     * 插入category
     * @param category 类别
     * @return ServiceError
     */
    ServiceError insertCategory(CategoryDo category);

    /**
     * 获取category列表
     * @param uid 用户id
     * @return List<CategoryDo>
     */
    List<CategoryDo> selectCategoryList(Long uid);

    /**
     * 根据uid和name查询category
     * @param category uid，name
     * @return boolean
     */
    boolean existsCategory(CategoryDo category);

    /**
     * 判断当前用户是否有权限操作当前cid对应的目录
     * @param uid 用户id
     * @param id 目录id
     * @return boolean
     */
    boolean isCurrentUser(Long id, Long uid);

    /**
     * 删除category
     * @param id categoryId
     */
    void deleteCategory(Long id);

    /**
     * 修改用户名
     * @param category id，uid，name
     */
    void renameCategory(CategoryDo category);
}
